#include "Expand/PluginsManager.h"
#include "Managers/GameManager.h"
#include "GameSingleton.h"
#include "FireNonDiffusionPlugin.h"
#include "Log.h"
#include "SubsystemFireNonDiffusionBlockBehavior.h"


namespace FireNonDiffusion
{
    FireNonDiffusionPlugin::FireNonDiffusionPlugin()
    {
        GameSingleton::gameManager->replaceSubsystem<SubsystemFireBlockBehavior, SubsystemFireNonDiffusionBlockBehavior>();
    }

    const std::string &FireNonDiffusionPlugin::getPluginName()
    {
        static const std::string pluginName = "火焰不扩散插件";
        return pluginName;
    }

    const std::string &FireNonDiffusionPlugin::getIntroduce()
    {
        static const std::string introduce = "火焰不扩散";
        return introduce;
    }

    uint32_t FireNonDiffusionPlugin::getUseAuthLevel()
    {
        return 100;
    }

    AuthDisplayType FireNonDiffusionPlugin::getDisplayType()
    {
        return AuthDisplayType::Authority;
    }

    void FireNonDiffusionPlugin::processCmd(ChatObj &chatObj, std::vector<std::string> &cmdDataVec) {}

} // namespace PocketSurvival

extern "C" void initialize()
{
    GameSingleton::pluginsManager->registerPlugin<FireNonDiffusion::FireNonDiffusionPlugin>();
    Log::Info("成功加载 火焰不扩散 插件");
}